return {
	'https://gitee.com/cc906979421/ale',
	event = { 'BufReadPost', 'BufNewFile' },
	config = function()
		-- 基本开关
		vim.g.ale_lint_on_text_changed = 'normal'   -- 插入模式停止 500 ms 后检查
		vim.g.ale_lint_on_save = 1                  -- 保存后再跑一次
		vim.g.ale_echo_msg_error_str = 'x'
		vim.g.ale_echo_msg_warning_str = '!'
		vim.g.ale_echo_msg_format = '[%linter%] %s [%severity%]'

		vim.fn.sign_define('ALEErrorSign', { text = 'x', texthl = 'ALEErrorSign' })
		vim.fn.sign_define('ALEWarningSign', { text = '!', texthl = 'ALEWarningSign' })

		-- 按文件类型指定 linter
		vim.g.ale_linters = {
			python  = { 'flake8', 'pylint' },
			lua     = { 'luacheck' },
			c       = { 'clang' },
			cpp     = { 'clang' },
			go      = { 'golangci-lint' },
			javascript = { 'eslint' },
		}

		-- 自动修复（可选）
		vim.g.ale_fixers = {
			python  = { 'black' },
			javascript = { 'eslint' },
			c       = { 'clang-format' },
			cpp     = { 'clang-format' },
			go     = { 'gofmt', 'goimports' },
		}
		vim.g.ale_fix_on_save = 1
	end,
}
